package com.sneakxy.cloudbase.platform.bean;

import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;

import com.sneakxy.mybatis.commons.annotations.Column;
import com.sneakxy.mybatis.commons.annotations.Table;
import com.sneakxy.mybatis.commons.orm.generation.GeneratedValue;
import com.sneakxy.mybatis.commons.orm.generation.GenerationType;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 上传文件信息
 * @author 潜行的虚影
 * @see
 */
@Data
@Table("t_mb4j_file")
@EqualsAndHashCode(callSuper = false)
public class UploadFile extends BaseEntity<String> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3706770817772511675L;

	/**
	 * 主键ID
	 */
	@Id
	@Column("id")
	@GeneratedValue(strategy = GenerationType.MANUAL)
	private String id;

	/**
	 * 文件名
	 */
	@Column("name")
	private String name;

	/**
	 * 文件存储路径
	 */
	@Column("path")
	private String path;

	/**
	 * 文件存储类型：fdfs、local、ftp
	 */
	@Column("storetype")
	private String storetype;

	/**
	 * 文件类型
	 */
	@Column("content_type")
	private String contentType;

	/**
	 * 
	 */
	@Column("size")
	private Long size;

	/**
	 * 使用范围：0、公共，1、私人
	 */
	@Column("extent")
	private String extent;

	/**
	 * 文件种类：0、普通文件
	 */
	@Column("filetype")
	private String filetype;

	/**
	 * 拥有者ID：account_id
	 */
	@Column("owner")
	private String owner;

	/**
	 * 下载次数
	 */
	@Column("downloads")
	private Long downloads;

	/**
	 * 上传时间
	 */
	@Column("uploadtime")
	private String uploadtime;
	
	@Transient
	private boolean isNew;

	@Override
	public boolean isNew() {
		return isNew;
	}

	@Override
	public void setNew(boolean isNew) {
		this.isNew = isNew;
	}

}
